Поддержка российских криптографических алгоритмов в продуктах, созданных на базе решений Mozilla
- Скачать LISSI-Soft RedFox, Mozilla Thunderbird, SeaMonkey с поддержкой российской криптографии.
Продукты, разрабатываемые сообществом Mozilla, завоевывают все большее признание. Браузер Firefox уже сравнялся по популярности с Internet Explorer, многие пользователи используют почтовый клиент Thunderbird и т.д. Широкому распространению этих продуктов способствует их бесплатность, кроссплатформенность, функциональность, не уступающая конкурентам, и, конечно, открытость исходного кода.
Браузер Mozilla Firefox функционирует практически на всех платформах (MS Windows, Linux, Mac OS X, Unix и т.д.), в том числе и на платформе Android.
Вместе с тем одним из сдерживающих моментов их широкого распространения, особенно в органах государственной и исполнительной власти, является отсутствие поддержки российских криптографических алгоритмов в этих продуктах, в частности, в протоколе https, а также использование ЭП и шифрования в почтовом клиенте и т.д.
Продукты семейства Mozilla ориентированы на использование в качестве криптографических провайдеров программных и/или аппаратных токенов, поддерживающих стандарт PKCS#11 (Cryptoki). PKCS#11 является стандартом, разработанным RSA Laboratories, для взаимодействия программ с криптографическими токенами, смарт-картами и другими аналогичными устройствами с помощью унифицированного программного интерфейса.
В настоящее время Техническим комитетом по стандартизации "Криптографическая защита информации" (ТК 26) выпущено дополнение к стандарту PKCS#11 - "Расширение PKCS#11 для использования российских криптографических алгоритмов" и проект методических рекомендаций «Методические рекомендации. Расширение PKCS#11 для использования российских стандартов ГОСТ Р 34.10-2012, ГОСТ Р 34.11-2012, ГОСТ Р 34.12-2015 и ГОСТ Р 34.13-2015» .
Опираясь на эти документы ООО «ЛИССИ-Софт» разработало в соответствие с техническим заданием (ТЗ), согласованным с ФСБ России, семейство криптографических токенов (криптокенов) «LS11», обеспечивающих возможность использования в прикладных программах интерфейса PKCS#11 для выполнения криптографических функций на базе российских криптографических алгоритмов (ГОСТ Р 34.11-94/2012 - алгоритмы хэширования, ГОСТ Р 34.10-2001/2012 - алгоритмы электронной подписи, ГОСТ 28147-89, ГОСТ Р 34.12-2015 и ГОСТ Р 34.13-2015 - алгоритмы шифрования).
- программный токен LS11SW2016;
- облачный токен LS11CLOUD;
- программно-аппаратный токен на базе flash-накопителя (флэшки) LS11USB2016;
- программно-аппаратные токены на базе существующих электронных ключей и смарт-карт - семейство LS11HW.
Для поддержки токенов (в том числе и аппаратных) с российской криптографией разработан пакет LS NSS, дополняющий утилиты и библиотеки NSS (Network Security Services) механизмами, позволяющими использовать токены/смарткарты PKCS#11 с поддержкой российской криптографии для стандартов PKCS#5, PKCS#7, PKCS#8, PKCS#10, PKCS#12, S/MIME, X509 и т.д. и протоколов TLS 1.0, TLS 1.1 и TLS 1.2 с поддержкой шифрсьютов TLS_GOSTR341001_WITH_28147_CNT_IMIT и TLS_GOSTR341112_256_WITH_28147_CNT_IMIT . Пакет LS NSS входит в состав СКЗИ «ЛИРССЛ-CSP» (положительное заключение №149.3.2.3-1433 от 18.07.2017 г.).
Наличие токенов семейства PKCS#11, реализующих российскую криптографию, и библиотеки LSNSS сделало возможным провести встраивание поддержки механизмов российской криптографии в браузер Mozilla Firefox, почтовый клиент Mozilla Thunderbird и SeaMonkey. Вместе с тем Mozilla накладывает ограничения на использование логотипов и товарных знаков компании в модифицированных версиях своих продуктов. Исходя из этого, было принято решение дать модифицированным версиям свои названия:
- браузер Redfox - доработанный с целью поддержки российской криптографии браузер Mozilla Firefox (Огненный Лис );
- почтовый клиент RedfoxMail - доработанный с целью поддержки российской криптографии почтовый клиент Mozilla Thunderbird;
- интегрированный пакет Redfox2in1 - доработанный с целью поддержки российской криптографии пакет SeaMonkey.
Каждый из этих продуктов получил свой логотип:
Браузер Redfox обеспечивает поддержку российских шифрсьютов TLS_GOSTR341001_WITH_28147_CNT_IMIT и TLS_GOSTR341112_256_WITH_28147_CNT_IMIT для протоколов TLS 1.0, TLS 1.1 и TLS 1.2:
Почтовый клиент Redfoxmail обеспечивает формирование подписи под почтовыми сообщениями как по алгоритму ГОСТ Р 34.10-2001, так и по алгоритму ГОСТ Р 34.10-2012 с длиной ключа 256 и 512 бит. Шифрование почтовых сообщений ведется с применением алгоритма ГОСТ 28147-89:
Порядок получения и подключения облачного токена LS11CLOUD описан здесь.
Порядок установки программного токена LS11SW2016 описан здесь.
Порядок установки
программно-аппаратных токенов LS_HW11 описан здесь.
Наиболее предпочтительным вариантом приобретения является программно-аппаратного токена lsToken. В этом случае пользователь получает готовый токен, с записанным на него не только библиотекой PKCS#11 ls11usb для различных платформ, но и Mozilla Firefox и Mozilla Thunderbird с поддержкой российской криптографии. А также тестовые сертификаты и утилиту конфигурирования токенов PKCS#11 p11conf/guip11conf. При заказе токена lsToken можно также обговорить установку дополнительного программного обеспечение из реестра ООО «ЛИССИ-Софт», работающего с устройствами PKCS#11.
Вместе с тем, для тестирования решений на базе токенов/смарткарт PKCS#11 (и в первую очередь браузера Redfox и почтового клиента Redfoxmail) целесообразно использовать облачный токен. Работа с облачным токеном ведется через библиотеку ls11cloud.
Подключение любого из вышеперечисленных токенов как «Модуля и устройства защиты» (см. рис. 1, 2) позволяет использовать российские криптографические механизмы в продуктах семейства LISSI_Soft Redfox: браузере Redfox, почтовом клиенте RedfoxMail, интегрированном пакете Redfox2in1:
Теперь с помощью браузера Mozilla Firefox (SeaMonkey) можно генерировать запросы на сертификаты через веб-интерфейс удостоверяющих центров (УЦ), поддерживающих генерацию запросов в формате SPKAC (например, «ЛИССИ-УЦ»). Вы можете зайти на тестовый УЦ «ЛИССИ-Софт» и сгенерировать запрос на сертификат (рис.3):
При этом ключевая пара генерируется на выбранном токене (рис. 4), а на УЦ отправляется только подписанный запрос на сертификат. При заполнении формы запроса на сертификат пользователь может выбрать как тип ключа (ГОСТ Р 34.10-2001, или ГОСТ Р 34.10-2012 с длиной закрытого ключа 256 бит или 512 бит), так и криптопараметры ключевой пары:
После того как сертификат
установлен, пользователь может его использовать для выполнения различных
криптографических операций. Например, для шифрования (дешифрования) и подписи
(проверки подписи) электронных писем в почтовом клиенте Mozilla Thunderbird
(рис. 13-16), файлов и сообщений в криптоплагине LCSignPlugin и т.д.
Для проверки работы протокола https с российской криптографией и различными сертификатами вы можете воспользоваться доступом к тестовым страницам:
- Установка соединений по протоколу TLS в анонимном режиме;
- Установка соединений по протоколу TLS в авторизованном режиме (ГОСТ Р 34.10-2001);
Браузер Mozilla Firefox и другие продукты семейства Mozilla
поддерживают работу с защищенными контейнерами PKCS#12, т.е. обеспечивают
импорт и экспорт личных сертификатов пользователей в хранилище NSS. Импортировать и экспортировать сертификаты необязательно с использованием самих продуктов Mozilla, иногда это удобно делать с помощью утилит NSS, для которых имеется удобный графический интерфейс:
Полученные сертификаты могут использоваться для шифрования (дешифрования) и подписи (проверки подписи) электронных писем в почтовом клиенте Mozilla Thunderbird (рис. 13-16) и SeaMonkey.
При этом пользователи клиента Mozilla Thunderbird естественно могут обмениваться подписанными/шифрованными письмами с пользователями MS Outlook и The Bat.
Для транспортировки личных сертификатов между хранилищами, поддерживаемыми "ЛИССИ-CSP" (MS Windows), и хранилищами СКЗИ "LirCryptoki" в LirCryptoki реализована возможность импорта/экспорта сертификатов и ключей в формате PKCS#12.
В век информационных технологий, когда все больше услуг оказывается через Интернет, когда развивается проект "Электронное правительство", на первом плане находится проблема информационной безопасности, связанная с достоверностью информационного обмена с различными общедоступными веб-сайтами/порталами, прежде всего государственными. Этот информационный обмен может включать получение различной достоверной информации, заказ различных справок, подачи заявок на получение загранпаспортов и т.д. Решение этой проблемы может быть достигнуто с помощью использования PKI (ИОК) и протокола https для доступа к Web-сайтам/порталам. Применение https для доступа к государственным информационным ресурсам предполагает его реализацию на базе российской криптографии. И если для создания Web-сайтов/порталов, поддерживающих доступ по протоколу https на базе российских криптоалгоритмов, могут использоваться различные программно-аппаратные платформы (например, Apache с LirModSSL на базе СКЗИ "ЛИРССЛ-CSP"), то пользователи ограничены в своем выборе: они вынуждены использовать MS Windows с браузером Internet Explorer (IE) и СКЗИ "КриптоПро CSP" или аналогичные, например, "ЛИССИ-CSP" для доступа к этим Web-ресурсам.
Вместе с тем, сегодня многие частные пользователи, предприятия и госучреждения ориентируются на использование продуктов OpenSource. Это прежде всего операционная система Linux, а также браузер Mozilla Firefox.
Встраивание поддержки протокола https на базе протокола TLSv1.0 в браузер Mozilla Firefox отменяет монополию Internet Explorer на доступ к информационным ресурсам по защищенному протоколу. И прежде всего это касается государственных порталов.
Для доступа по протоколу https в авторизованном режиме пользователям необходимо получить в УЦ соответствующие сертификаты. Однако большинство российских Удостоверяющих Центров (УЦ), за исключением созданных на базе ПАК «ЛИССИ-УЦ» (см. выше, рис. 3-8), обеспечивают прием заявок на сертификаты только от браузера Internet Explorer.
Правда, это можно обойти, отправив заявку на УЦ в формате PKCS#10, что не всегда удобно, а иногда даже невозможно. Так, тестовый УЦ компании КриптоПро сегодня не принимает такие заявки. Выходом из этого положения может быть установка на компьютере с MS Windows криптопровайдера «ЛИССИ-CSP» и выполнения стандартной процедуры по получению сертификата на одном из УЦ (в данном случае мы получали сертификат на тестовом УЦ КриптоПро) (см. рис. 19-22).
После получения сертификата необходимо его экспортировать (сохранить резервную копию) с помощью специальной утилиты в файл формата PKCS#12 (см. рис. 23-28), например, на флэшку.
После этого, полученные сертификаты в формате PKCS#12 устанавливаются (импортируются) в хранилище сертификатов Mozilla Firefox и Mozilla Thunderbird (см. рис. 29-33).
Теперь, когда мы установили сертификат, полученный на Тестовом УЦ "КриптоПро", мы можем ходить по протоколу https в авторизованном режиме на тестовую страницу КриптоПро посредством браузера Mozilla Firefox (см. рис. 34-38).
Особенности функционирования браузера Mozilla Firefox на платформе Android описаны в статье "Российская криптография на Android".